Pandas একটি জনপ্রিয় Python লাইব্রেরি যা DataFrame নামক একটি ডেটা স্ট্রাকচার ব্যবহার করে ডেটাকে টেবিল আকারে সংরক্ষণ এবং পরিচালনা করার জন্য। DataFrame থেকে ডেটা নির্বাচন (Data Selection) এবং ফিল্টারিং (Filtering) হল ডেটা বিশ্লেষণের গুরুত্বপূর্ণ অংশ, যা বিভিন্ন পরিস্থিতিতে প্রয়োজনীয় ডেটা বের করতে সহায়তা করে।
এখানে Pandas DataFrame থেকে ডেটা সিলেকশন এবং ফিল্টারিং সম্পর্কিত বিভিন্ন পদ্ধতি বিস্তারিতভাবে আলোচনা করা হল।
১. DataFrame তৈরি
প্রথমে একটি সাধারণ DataFrame তৈরি করি:
import pandas as pd
# ডেটা সেট তৈরি
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
'Age': [24, 27, 22, 32, 29],
'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix']
}
df = pd.DataFrame(data)
# DataFrame দেখানো
print(df)
আউটপুট:
Name Age City
0 Alice 24 New York
1 Bob 27 Los Angeles
2 Charlie 22 Chicago
3 David 32 Houston
4 Edward 29 Phoenix
২. Data Selection (ডেটা নির্বাচন)
DataFrame থেকে নির্দিষ্ট কলাম বা সারি নির্বাচন করার বিভিন্ন পদ্ধতি আছে।
১.1 একটি কলাম নির্বাচন:
# 'Name' কলাম নির্বাচন
name_column = df['Name']
print(name_column)
আউটপুট:
0 Alice
1 Bob
2 Charlie
3 David
4 Edward
Name: Name, dtype: object
১.2 একাধিক কলাম নির্বাচন:
# 'Name' এবং 'Age' কলাম নির্বাচন
selected_columns = df[['Name', 'Age']]
print(selected_columns)
আউটপুট:
Name Age
0 Alice 24
1 Bob 27
2 Charlie 22
3 David 32
4 Edward 29
১.3 একটি সারি নির্বাচন:
# প্রথম সারি নির্বাচন
first_row = df.iloc[0]
print(first_row)
আউটপুট:
Name Alice
Age 24
City New York
Name: 0, dtype: object
১.4 একাধিক সারি নির্বাচন:
# প্রথম তিনটি সারি নির্বাচন
first_three_rows = df.iloc[:3]
print(first_three_rows)
আউটপুট:
Name Age City
0 Alice 24 New York
1 Bob 27 Los Angeles
2 Charlie 22 Chicago
৩. Data Filtering (ডেটা ফিল্টারিং)
ডেটা ফিল্টারিং হল ডেটা সেটের মধ্যে নির্দিষ্ট শর্ত পূরণ করা সারি বা কলাম নির্বাচন করা।
৩.1 শর্ত দ্বারা ফিল্টারিং:
# Age কলামের মান ২৫ এর বেশি এমন সারি নির্বাচন করা
filtered_data = df[df['Age'] > 25]
print(filtered_data)
আউটপুট:
Name Age City
1 Bob 27 Los Angeles
3 David 32 Houston
4 Edward 29 Phoenix
৩.2 একাধিক শর্ত দ্বারা ফিল্টারিং:
# Age > 25 এবং City = 'Houston' শর্তে ফিল্টার করা
filtered_data = df[(df['Age'] > 25) & (df['City'] == 'Houston')]
print(filtered_data)
আউটপুট:
Name Age City
3 David 32 Houston
৩.3 অথবা শর্ত দ্বারা ফিল্টারিং:
# Age > 25 অথবা City = 'Chicago' শর্তে ফিল্টার করা
filtered_data = df[(df['Age'] > 25) | (df['City'] == 'Chicago')]
print(filtered_data)
আউটপুট:
Name Age City
1 Bob 27 Los Angeles
2 Charlie 22 Chicago
3 David 32 Houston
4 Edward 29 Phoenix
৩.4 নির্দিষ্ট মানের জন্য ফিল্টারিং:
# 'City' কলামে 'Chicago' সম্বলিত সারি নির্বাচন করা
filtered_data = df[df['City'] == 'Chicago']
print(filtered_data)
আউটপুট:
Name Age City
2 Charlie 22 Chicago
৪. DataFrame থেকে ইনডেক্স দিয়ে ফিল্টারিং
DataFrame থেকে সারি নির্বাচনের জন্য loc[] এবং iloc[] পদ্ধতি ব্যবহার করা যায়।
৪.1 loc[] ব্যবহার করে ফিল্টারিং:
loc[] পদ্ধতিটি ট্যাগড ইনডেক্সের মাধ্যমে সারি নির্বাচন করে।
# 'Name' কলামে 'Charlie' এর ইনডেক্সের সারি নির্বাচন
row = df.loc[df['Name'] == 'Charlie']
print(row)
আউটপুট:
Name Age City
2 Charlie 22 Chicago
৪.2 iloc[] ব্যবহার করে ফিল্টারিং:
iloc[] পদ্ধতিটি পজিশনাল ইনডেক্স (integer-based indexing) এর মাধ্যমে সারি নির্বাচন করে।
# প্রথম দুইটি সারি নির্বাচন
rows = df.iloc[:2]
print(rows)
আউটপুট:
Name Age City
0 Alice 24 New York
1 Bob 27 Los Angeles
৫. নতুন কলাম যোগ করা
আপনি যদি নতুন কলাম যোগ করতে চান, তবে সহজেই এটি করতে পারেন।
# একটি নতুন কলাম 'Age in Months' যোগ করা
df['Age in Months'] = df['Age'] * 12
print(df)
আউটপুট:
Name Age City Age in Months
0 Alice 24 New York 288
1 Bob 27 Los Angeles 324
2 Charlie 22 Chicago 264
3 David 32 Houston 384
4 Edward 29 Phoenix 348
সারাংশ
- Data Selection: ডেটা নির্বাচন করার জন্য আপনি কলাম, সারি বা নির্দিষ্ট শর্তের মাধ্যমে ডেটা নির্বাচন করতে পারেন।
- Filtering: নির্দিষ্ট শর্তে ডেটা ফিল্টার করা, যেমন কোনও কলামের মানের ভিত্তিতে সারি নির্বাচন করা।
loc[]এবংiloc[]: ইনডেক্স বা পজিশনাল ইনডেক্স ব্যবহার করে সারি নির্বাচন করা।
এই পদ্ধতিগুলি ব্যবহার করে আপনি Pandas DataFrame থেকে প্রয়োজনীয় ডেটা নির্বাচন এবং ফিল্টার করতে পারবেন, যা ডেটা বিশ্লেষণ এবং প্রক্রিয়াকরণের জন্য অত্যন্ত গুরুত্বপূর্ণ।
Read more